//
//  hpp_cpp.hpp
//  learnC++
//
//  Created by apple on 2018/6/3.
//  Copyright © 2018年 yunfan.com. All rights reserved.
//

#ifndef hpp_cpp_hpp
#define hpp_cpp_hpp

#include <stdio.h>
#include <iostream>

class MyDate {
private:
    int m_year;
    int m_month;
    int m_day;
    
    
    
public:
    
    static int m_static;//静态成员变量由所有类对象共享
    
    //声明，定义不在头文件中有2个好处：1、调用方不需要知道实现，2、修改定义时，如果实在头文件中编译器要重新编译所有调用方，而声明和定义分开时，则只需编译cpp文件
    MyDate(int year,int month,int day);
    
    void SetDate(int year, int month, int day);
    
    int getYear() { return m_year; }
    int getMonth() { return m_month; }
    int getDay()  { return m_day; }
    
};

/*
 //可以直接使用MyDate::m_static = 10;访问静态变量，不需要实例化对象
 为什么在类中使用静态变量？ 一个很好的例子是为每个类的实例分配一个唯一的ID。
 */


#endif /* hpp_cpp_hpp */
